﻿using YookingBizWQW.Class.Credit.pub;
using YookingInterfaceAli.Class.AliPublic;

namespace YookingBizWQW.Class.AliPay
{
    public class clsAliNotify
    {
        //注释：王庆文 2020年05月11日========================================================================
        //支付宝完成付款之后，会异步反馈回来一些消息，接收、验证、解析这些消息，并记录到后台日志文件中
        //程序执行完后必须打印输出“success”（不包含引号），反馈给支付宝服务器。
        //如果商户反馈给支付宝的字符不是success这7个字符，支付宝服务器会不断重发通知，
        //直到超过24小时22分钟。在25小时内完成6~10次通知（通知频率：5s,2m,10m,15m,1h,2h,6h,15h）。
        public string AliNotify_ProcessBiz(string strAppID, string strOrderID)
        {
            //通知阿里，YOOKING后台处理成功，还是失败
            string strPayStatus = "fail"; //默认失败

            //获取指定APPID的Yooking业务逻辑代号
            string strAppLogic = clsAliVariate.GetAppLogic(strAppID);

            #region 根据支付结果，开始处理对应的后台业务逻辑

            if (strAppLogic.ToUpper() == "DINGYUANXINXI")
            {
                strPayStatus = "success"; //【丁元信息】付款已成功
            }
            else if (strAppLogic.ToUpper() == "CHINAFOOD")
            {
                strPayStatus = "success"; //【ChinaFood】付款已成功
            }
            else if (strAppLogic.ToUpper() == "KEDOUYOUDU")
            {
                strPayStatus = "success"; //【蝌蚪有读】付款已成功
            }
            else if (strAppLogic.ToUpper() == "ZHIXIANG_ZHIHUISHEQU")
            {
                strPayStatus = "success"; //【掷象科技_智慧社区】付款已成功
            }
            else if (strAppLogic.ToUpper() == "ZHENHUANGUANJIA")
            {
                //【真还管家】进行支付处理、会员升级、上级、上上级奖励
                clsMbrPayNotify myBiz = new clsMbrPayNotify(); 
                strPayStatus = myBiz.PayNotify_HandleCreditBiz(strAppID, strOrderID);
            }
            else
            {
                strPayStatus = "success"; //不做业务处理，直接通知支付宝付款已成功
            }

            #endregion
             
            return strPayStatus; //最终的业务处理结果状态
        }




    }
}
